iOS SDK RN 框架支持
本指南将会为您介绍如何在React Native中使用iOS SDK的功能。
最新版本为:1.0.0
更新时间为:2018-09-07
1. 集成iOS SDK与RN支持文件
集成iOS SDK请参见iOS SDK 使用指南
完成iOS SDK的集成后,请点此下载RN支持文件,解压后将RNThinkingAnalyticsModule.h
与RNThinkingAnalyticsModule.m
文件添加到您的项目工程中
2. 在JS文件中导入模块
请在具体使用的JS文件中加入以下代码,以导入模块:
import { NativeModules } from 'react-native';
const RNThinkingAnalyticsModule=NativeModules.RNThinkingAnalyticsModule;
完成导入后即可在RN中使用SDK功能
3. 在RN中使用SDK功能
在完成导入后,即可使用SDK功能,需要注意的是,RN支持模块只是将iOS SDK的接口进行封装,传输数据仍由iOS SDK的实例完成的,因此在iOS SDK与RN传输的数据,将会共用访客ID、账号ID以及事件公共属性。
现阶段支持SDK中的接口如下:
1) 设置账号ID
在用户进行登录时,可调用login
来设置用户的账号ID,在设置完账号ID后,将会以账号ID作为身份识别ID,并且设置的账号ID将会在调用logout
之前一直保留:
RNThinkingAnalyticsModule.login("account_id")
login
可以多次调用,每次调用会判断传入的账号ID与先前保存的ID是否一致,一致则忽略调用,不一致则会覆盖先前的ID。
请注意,该方法不会上传用户登录的事件
2) 清除账号ID
在用户产生登出行为之后,可调用logout
来清除账号ID,在下次调用login
之前,将会以访客ID作为身份识别ID:
RNThinkingAnalyticsModule.logout()
在RN中的调用logout也将清除iOS SDK中的账号ID,同样iOS SDK调用logout也会清除RN中的账号ID
我们推荐您在显性的登出事件时调用logout
,比如用户产生了注销账号这一行为时才调用,而不需要在关闭App时调用。
3) 发送事件
您可以调用track
来上传事件,本接口将会调用SDK中的track
接口,详细的使用说明请参考SDK文档中的track
接口的介绍:
RNThinkingAnalyticsModule.track("rn_testtrack", {"propKey":1,"propKey2":"name"})
第一个参数为该事件的事件名,第二个参数为该事件的所有属性,key值为属性名,value值为属性值
4) 记录事件时长
您可以调用trackTimerBegin
来开始计时,配置您想要计时的事件名称,当您上传该事件时,将会自动在您的事件属性中加入#duration
这一属性来表示记录的时长,单位为秒。
RNThinkingAnalyticsModule.trackTimerBegin("rn_testtrack")
传入的参数即为需要记录时间的事件的事件名,当该事件被触发时,计时将会停止,并且#duration
这一计时属性将会被记录在事件中